package cc.customer.bigEmport.services;

import cc.customer.bigEmport.damain.EpRecords;
import cc.customer.bigEmport.damain.EprRecords;
import cc.customer.common.domain.QueryRequest;
import cc.customer.common.domain.ResponseBo;
import cc.customer.common.service.IService;
import cc.customer.bigEmport.damain.BigEmp;
import cc.customer.system.domain.MyUser;

import java.util.List;
import java.util.concurrent.Future;

public interface BigEmpServices extends IService<BigEmp> {
    /**多线程批量导入批量导入信息**/
    int batchInsert(List<BigEmp> list, EpRecords epRecords);

    /**demo测试多线程**/
    Future<Integer> batchInsertOne(List<BigEmp> list, EpRecords epRecords) throws Exception;
    Future<Integer> batchInsertTwo(List<BigEmp> list, EpRecords epRecords) throws Exception;
    Future<Integer> batchInsertThree(List<BigEmp> list, EpRecords epRecords) throws Exception;

    int insertRecord(List<EprRecords> allChongfu,EpRecords records) throws  Exception;

    /**批量更新意向用户**/
    int batchUpdateInten(List<BigEmp> list,String user);
    /**查询列表信息**/
    List<BigEmp> findAllBigEmp(BigEmp bigEmp, QueryRequest request,String isBig,MyUser user, List<String> list);
    /**查询客户的手机号 是不是存在**/
    BigEmp findBigEmpByMobile(String Mobile);
    /**根据导入批次查询当前导入批次查询客户**/
    List<BigEmp> findBigEmpByImportBatch(String importBatch);
    /**根据当前的 uuid 查询当前批次的客户**/
    List<BigEmp> findBigEmpByImportUuid(String importUuid,String condition);
    /**查询客户资料*/
    ResponseBo findAllBigEmpInfoById(String keyid,MyUser user);
    /**查询客户资料*/
    ResponseBo AppfindAllBigEmpInfoById(String keyid,MyUser user);
    /**查询客户的标签**/
    ResponseBo selectBigEmpLabel(String keyid);

    /**修改单个客户得资料**/
    ResponseBo updateBigEmpInfoByBpId(BigEmp emp,MyUser user);
    /**批量删除客户**/
    ResponseBo batchUpdateBigEmp(String ids);

    /**批量更新客户的信息**/
    ResponseBo batchUpdateBykeyId(BigEmp emp,String ids,String userid);

    /**手动录入增加客户**/
    ResponseBo addBigEmp(BigEmp emp);

    /**导出信息客户信息**/
    List<BigEmp> exportBigEmpInfo(String exportids,MyUser user);
    /**
     * 导出信息客户的导出记录
     * **/
    void exportBigEmpRecords(BigEmp epRecords,String exportids,String user,String exportMsg) throws Exception;

    /**查询可结算的客户**/
    List<BigEmp> findAllBalanceByUuidAndGroup(String uuid,String group);
    /**当前批次未筛选**/
    List<BigEmp> balanceEmpNoGroup(String uuid);

    /**我的客户的列表**/
    List<BigEmp> findMyAllBigEmp(BigEmp emp, MyUser user);

    /**查询所有的信息**/
    List<String> findAllBigEmp();
}
